<script setup>
import { ref, reactive, onMounted, computed } from 'vue'
import { addCartCommodity } from '@/api/cart'
import { useRoute } from 'vue-router'
import { useRouter } from 'vue-router'
import { getOneCommodity } from '@/api/commodity'
import { showConfirmDialog } from 'vant'
import { useUserStore } from '@/stores/modules/user'
import { showToast } from 'vant'
import  isLogin  from '@/mixins/loginConfirm'
const images = ref([
        'https://img01.yzcdn.cn/vant/apple-1.jpg',
        'https://img01.yzcdn.cn/vant/apple-2.jpg'
      ])
const cartTotal = ref(0)
const route = useRoute()
const router = useRouter()
const goodId = computed(() => route.params.id)
console.log("goodId",goodId.value)
const current = ref(0)
const dataList = ref()
const mode = ref('')
const showPannel = ref(false)
const addCount = ref(1)
const buyNumber = ref(1)

const getGoodprodetail = async(goodId) => {
  const { data } = await getOneCommodity(goodId.value)
  dataList.value = data
  // images.value = data.image
}
getGoodprodetail(goodId)
const onChange =  (index) =>  {
      current.value = index
    }

// 加入购物车、立即购买
const addFn = () => {
  mode.value = "cart"
  showPannel.value = true
}
const buyFn = () =>  {
  mode.value = "buy"
  showPannel.value = true
}
const addCart = async  () => {
  console.log('加入购物车islogin',isLogin.isLogin());
  isLogin.isLogin
  // 判断用户是否有登录
  if (!isLogin.isLogin) {
   
    return
  }
  console.log('进行加入购物车操作')

  const { data } = await addCartCommodity(dataList.value.id, addCount.value)
  console.log("查询的数据是" ,data)
  cartTotal.value = data

  showPannel.value = false
  showToast('加入购物车成功')
}

const goBuyNow = () =>  {
  router.push({
    path: '/pay',
    query: {
      mode: 'buyNow',
      cartId: dataList.value.id,
      number: addCount.value
    }
  })
}
</script>

<template>
  <div class="prodetail">
    <van-nav-bar fixed title="商品详情页" left-arrow @click-left="$router.go(-1)" />

    <!-- <van-swipe :autoplay="3000" @change="onChange">
      <van-swipe-item v-for="(image, index) in images" :key="index">
        <img :src="image" />
      </van-swipe-item>

      <template #indicator>
        <div class="custom-indicator">{{ current + 1 }} / {{ images.length }}</div>
      </template>
    </van-swipe> -->
    <van-swipe :autoplay="3000" @change="onChange">
      <van-swipe-item  >
        <img style="height: 50vh;" :src="dataList.image" />
      </van-swipe-item>

      <template #indicator>
        <div class="custom-indicator"> 1 / 1</div>
      </template>
    </van-swipe>

    <!-- 商品说明 -->
    <div class="info">
      <div class="title">
        <div class="price">
          <span class="now">￥{{ dataList.price }}</span>
          <span class="oldprice">￥{{ dataList.price + 1000 }}</span>
        </div>
        <div class="sellcount">已售{{ dataList.number }}件</div>
      </div>
      <div class="msg text-ellipsis-2">
{{ dataList.description }}
      </div>

      <div class="service">
        <div class="left-words">
          <span><van-icon name="passed" />七天无理由退货</span>
          <span><van-icon name="passed" />48小时发货</span>
        </div>
        <div class="right-icon">
          <van-icon name="arrow" />
        </div>
      </div>
    </div>

    <!-- 商品评价 -->
    <div class="comment">
      <div class="comment-title">
        <div class="left">商品评价 (5条)</div>
        <div class="right">查看更多 <van-icon name="arrow" /> </div>
      </div>
      <div class="comment-list">
        <div class="comment-item" v-for="item in 3" :key="item">
          <div class="top">
            <img src="http://cba.itlike.com/public/uploads/10001/20230321/a0db9adb2e666a65bc8dd133fbed7834.png" alt="">
            <div class="name">神雕大侠</div>
            <van-rate :size="16" :value="5" color="#ffd21e" void-icon="star" void-color="#eee"/>
          </div>
          <div class="content">
            质量很不错 挺喜欢的
          </div>
          <div class="time">
            2023-03-21 15:01:35
          </div>
        </div>
      </div>
    </div>

    <!-- 商品描述 -->
    <div class="desc">
      <img src="https://uimgproxy.suning.cn/uimg1/sop/commodity/kHgx21fZMWwqirkMhawkAw.jpg" alt="">
      <img src="https://uimgproxy.suning.cn/uimg1/sop/commodity/0rRMmncfF0kGjuK5cvLolg.jpg" alt="">
      <img src="https://uimgproxy.suning.cn/uimg1/sop/commodity/2P04A4Jn0HKxbKYSHc17kw.jpg" alt="">
      <img src="https://uimgproxy.suning.cn/uimg1/sop/commodity/MT4k-mPd0veQXWPPO5yTIw.jpg" alt="">
    </div>

    <!-- 底部 -->
    <div class="footer">
      <div @click="$router.push('/home')" class="icon-home">
        <van-icon name="wap-home-o" />
        <span>首页</span>
      </div>
      <div @click="$router.push('/cart')" class="icon-cart">
        <van-icon name="shopping-cart-o" />
        <span>购物车</span>
      </div>
      <div class="btn-add" @click="addFn">加入购物车</div>
      <div class="btn-buy" @click="buyFn">立刻购买</div>
    </div>
  </div>

  <van-action-sheet v-model:show="showPannel" title="标题">
	  <div class="product">
      <div class="product-title">
        <div class="left">
          <img :src="images[0]" alt="">
        </div>
        <div class="right">
          <div class="price">
            <span>¥</span>
            <span class="nowprice">{{ dataList.price }}</span>
          </div>
          <div class="count">
            <span>库存</span>
            <span>{{ dataList.number }}</span>

          </div>
        </div>
      </div>
      <div class="num-box">
        <span>数量</span>
        <div class="num-box">
          <span>数量</span> 
            <CountBox v-model:modelValue="addCount"></CountBox>
          </div>
      </div>
      <div class="showbtn" v-if="true">
        <div class="btn" v-if="mode === 'cart'" @click="addCart">加入购物车</div>
        <div class="btn now" @click="goBuyNow" v-else>立刻购买</div>
      </div>
      <div class="btn-none" v-else>该商品已抢完</div>
    </div>
  </van-action-sheet>
</template>


<style lang="less" scoped>
.prodetail {
  padding-top: 46px;
  ::v-deep .van-icon-arrow-left {
    color: #333;
  }
  img {
    display: block;
    width: 100%;
  }
  .custom-indicator {
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 5px 10px;
    font-size: 12px;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 15px;
  }
  .desc {
    width: 100%;
    overflow: scroll;
    ::v-deep img {
      display: block;
      width: 100%!important;
    }
  }
  .info {
    padding: 10px;
  }
  .title {
    display: flex;
    justify-content: space-between;
    .now {
      color: #fa2209;
      font-size: 20px;
    }
    .oldprice {
      color: #959595;
      font-size: 16px;
      text-decoration: line-through;
      margin-left: 5px;
    }
    .sellcount {
      color: #959595;
      font-size: 16px;
      position: relative;
      top: 4px;
    }
  }
  .msg {
    font-size: 16px;
    line-height: 24px;
    margin-top: 5px;
  }
  .service {
    display: flex;
    justify-content: space-between;
    line-height: 40px;
    margin-top: 10px;
    font-size: 16px;
    background-color: #fafafa;
    .left-words {
      span {
        margin-right: 10px;
      }
      .van-icon {
        margin-right: 4px;
        color: #fa2209;
      }
    }
  }

  .comment {
    padding: 10px;
  }
  .comment-title {
    display: flex;
    justify-content: space-between;
    .right {
      color: #959595;
    }
  }

  .comment-item {
    font-size: 16px;
    line-height: 30px;
    .top {
      height: 30px;
      display: flex;
      align-items: center;
      margin-top: 20px;
      img {
        width: 20px;
        height: 20px;
      }
      .name {
        margin: 0 10px;
      }
    }
    .time {
      color: #999;
    }
  }

  .footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 55px;
    background-color: #fff;
    border-top: 1px solid #ccc;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    .icon-home, .icon-cart {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      font-size: 14px;
      .van-icon {
        font-size: 24px;
      }
    }
    .btn-add,
    .btn-buy {
      height: 36px;
      line-height: 36px;
      width: 120px;
      border-radius: 18px;
      background-color: #ffa900;
      text-align: center;
      color: #fff;
      font-size: 14px;
    }
    .btn-buy {
      background-color: #fe5630;
    }
  }
}
    
.tips {
  padding: 10px;
}

.product {
  .product-title {
    display: flex;
    .left {
      img {
        width: 90px;
        height: 90px;
      }
      margin: 10px;
    }
    .right {
      flex: 1;
      padding: 10px;
      .price {
        font-size: 14px;
        color: #fe560a;
        .nowprice {
          font-size: 24px;
          margin: 0 5px;
        }
      }
    }
  }

  .num-box {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    align-items: center;
  }

  .btn, .btn-none {
    height: 40px;
    line-height: 40px;
    margin: 20px;
    border-radius: 20px;
    text-align: center;
    color: rgb(255, 255, 255);
    background-color: rgb(255, 148, 2);
  }
  .btn.now {
    background-color: #fe5630;
  }
  .btn-none {
    background-color: #cccccc;
  }
}
</style>